Al descargar una imagen de DockerHub, si no indicamos una etiqueta específica, Docker automáticamente descarga la última versión disponible, marcada con la etiqueta latest.
A la hora de construir nuestras propias imágenes siempre hay que especificar una etiqueta concreta (o incluso ser más específico indicando el SHA1 de la imagen que queremos usar). El objetivo es evitar que cambios no controlados en la imagen puedan afectar a las imágenes que creemos a partir de la imagen base. Estos cambios pueden provocar problemas que serán muy difíciles de diagnosticar si, en un momento dado, nuestros contenedores dejan de funcionar como esperamos.
Una manera sencilla de evitar usar la etiqueta latest por error -especialmente al lanzar contenedores desde la línea de comandos- es eliminándola. De esta forma, si intentas crear un contenedor sin especificar la etiqueta, buscará la imagen marcada como latest. Si no existe, intentará conectar con DockerHub y descargarla, lo que será fácilmente visible en pantalla y te permitirá cancelar el proceso y lanzar el contenedor usando una etiqueta específica.
Puedes aplicar una etiqueta a una imagen mediante el comando docker tag:
$ docker tag imagen imagen:etiqueta
Aunque no resulta demasiado intuitivo, para eliminar una etiqueta, etiquetamos la imagen sin etiqueta; así para eliminar -por ejemplo- la etiqueta latest de la imagen kanboard/kanboard:
$ docker tag kanboard/kanboard:latest kanboard/kanboard
Comentarios